package com.uzai.console.service.order.impl;

import com.uzai.common.enums.OrderReStatusEnum;
import com.uzai.console.service.order.OrderReStatusService;
import com.uzai.console.vo.order.OrderReStatusVo;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * 订单返利状态
 * @author liuqi
 * @date 2021年08月19日 16:50
 */
@Service
public class OrderReStatusServiceImpl implements OrderReStatusService {

    /**
     * 查询订单返利状态列表
     * @author liuqi
     * @date 2021/8/19 16:51
     * @return java.util.List<com.uzai.console.vo.order.OrderStatusVo>
     */
    public List<OrderReStatusVo> findOrderReStatusList(){
        //新建返回集合
        List<OrderReStatusVo> orderReStatusVoList = new ArrayList<OrderReStatusVo>();
        //获取订单状态枚举
        OrderReStatusEnum[] orderReStatusesArr = OrderReStatusEnum.values();
        //遍历订单状态枚举
        for (OrderReStatusEnum orderReStatus :orderReStatusesArr){
            OrderReStatusVo orderReStatusVo = new OrderReStatusVo();
            orderReStatusVo.setKey(orderReStatus.getValue());
            orderReStatusVo.setValue(orderReStatus.getDesc());
            orderReStatusVoList.add(orderReStatusVo);
        }
        return orderReStatusVoList;
    }

    /**
     * 查询美团订单返利状态列表
     * @author liuqi
     * @date 2021/8/19 16:51
     * @return java.util.List<com.uzai.console.vo.order.OrderStatusVo>
     */
    public List<OrderReStatusVo> findMtOrderReStatusList(){
        //新建返回集合
        List<OrderReStatusVo> orderReStatusVoList = new ArrayList<OrderReStatusVo>();
        //获取订单状态枚举
        OrderReStatusEnum[] orderReStatusesArr = OrderReStatusEnum.values();
        //遍历订单状态枚举
        for (OrderReStatusEnum orderReStatus :orderReStatusesArr){
            if(orderReStatus.getValue().intValue() == 0               //未返利
                    ||orderReStatus.getValue().intValue() == 1        //已返利
                    ||orderReStatus.getValue().intValue() == 2        //已追回
                    ||orderReStatus.getValue().intValue() == 3        //已冻结
            ){
                OrderReStatusVo orderReStatusVo = new OrderReStatusVo();
                orderReStatusVo.setKey(orderReStatus.getValue());
                orderReStatusVo.setValue(orderReStatus.getDesc());
                orderReStatusVoList.add(orderReStatusVo);
            }
        }
        return orderReStatusVoList;
    }

    /**
     * 查询饿了么订单返利状态列表
     * @author liuqi
     * @date 2021/8/19 16:51
     * @return java.util.List<com.uzai.console.vo.order.OrderStatusVo>
     */
    public List<OrderReStatusVo> findElmOrderReStatusList(){
        //新建返回集合
        List<OrderReStatusVo> orderReStatusVoList = new ArrayList<OrderReStatusVo>();
        //获取订单状态枚举
        OrderReStatusEnum[] orderReStatusesArr = OrderReStatusEnum.values();
        //遍历订单状态枚举
        for (OrderReStatusEnum orderReStatus :orderReStatusesArr){
            if(orderReStatus.getValue().intValue() == 0               //未返利
                    ||orderReStatus.getValue().intValue() == 1        //已返利
                    ||orderReStatus.getValue().intValue() == 2        //已追回
                    ||orderReStatus.getValue().intValue() == 3        //已冻结
            ){
                OrderReStatusVo orderReStatusVo = new OrderReStatusVo();
                orderReStatusVo.setKey(orderReStatus.getValue());
                orderReStatusVo.setValue(orderReStatus.getDesc());
                orderReStatusVoList.add(orderReStatusVo);
            }
        }
        return orderReStatusVoList;
    }

    /**
     * 查询快手订单返利状态列表
     * @author liuqi
     * @date 2021/8/19 16:51
     * @return java.util.List<com.uzai.console.vo.order.OrderStatusVo>
     */
    public List<OrderReStatusVo> findKsOrderReStatusList(){
        //新建返回集合
        List<OrderReStatusVo> orderReStatusVoList = new ArrayList<OrderReStatusVo>();
        //获取订单状态枚举
        OrderReStatusEnum[] orderReStatusesArr = OrderReStatusEnum.values();
        //遍历订单状态枚举
        for (OrderReStatusEnum orderReStatus :orderReStatusesArr){
            if(orderReStatus.getValue().intValue() == 0               //未返利
                    ||orderReStatus.getValue().intValue() == 1        //已返利
                    ||orderReStatus.getValue().intValue() == 2        //已追回
                    ||orderReStatus.getValue().intValue() == 3        //已冻结
            ){
                OrderReStatusVo orderReStatusVo = new OrderReStatusVo();
                orderReStatusVo.setKey(orderReStatus.getValue());
                orderReStatusVo.setValue(orderReStatus.getDesc());
                orderReStatusVoList.add(orderReStatusVo);
            }
        }
        return orderReStatusVoList;
    }
}
